
// MainFrm.h : interface of the CMainFrame class
//

#pragma once
#include "FileView.h"
#include "ClassView.h"
#include "OutputWnd.h"
#include "PropertiesWnd.h"
#include "ToolBox.h"
#include "WPProjView.h"
#include "WPXmlFileView.h"
#include "WPRefToolBoxView.h"
#include "window_project.h"

class CMainFrame;
extern CMainFrame * g_MainFrame;

class CMainFrame : public CMDIFrameWndEx
{
	DECLARE_DYNAMIC(CMainFrame)
public:
	CMainFrame();

// Attributes
public:

// Operations
public:

// Overrides
public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual BOOL LoadFrame(UINT nIDResource, DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, CWnd* pParentWnd = NULL, CCreateContext* pContext = NULL);

// Implementation
public:
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:  // control bar embedded members
	CMFCMenuBar       m_wndMenuBar;
	CMFCToolBar       m_wndToolBar;
	CMFCStatusBar     m_wndStatusBar;
	CMFCToolBarImages m_UserImages;
	COutputWnd        m_wndOutput;
	CPropertiesWnd    m_wndProperties;
	CWPXmlFileView	  m_wndXmlFile;
	CWPRefToolBoxView m_wndRefToolBox;


	CToolBox		m_wndToolBox;
	CWPProjView		m_wndProjView;

public:
	CWPProjView* GetProjView()		{ return &m_wndProjView; }
	CWPXmlFileView* GetXmlFileView()	{ return &m_wndXmlFile; }
	CPropertiesWnd* GetPropertyView()	{ return &m_wndProperties; }

	COutputWnd* GetOutputWnd() { return &m_wndOutput; }
	//CWnd* Get
	
	void AddXmlListener(data_xml* aXmlData);
	void AddWindowProjectListener(window_project* aWProject);
// Generated message map functions
protected:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnWindowManager();
	afx_msg void OnViewCustomize();
	afx_msg LRESULT OnToolbarCreateNew(WPARAM wp, LPARAM lp);
	afx_msg void OnApplicationLook(UINT id);
	afx_msg void OnUpdateApplicationLook(CCmdUI* pCmdUI);
	DECLARE_MESSAGE_MAP()

	BOOL CreateDockingWindows();
	void SetDockingWindowIcons(BOOL bHiColorIcons);
public:
	afx_msg void OnToolsOptions();
};


